package euler.p001_050;

import java.util.Arrays;

import euler.MainEuler;
import euler.helper.NaturalHelper;

public class Euler038 extends MainEuler {

    /*
        Take the number 192 and multiply it by each of 1, 2, and 3:

            192 × 1 = 192
            192 × 2 = 384
            192 × 3 = 576

        By concatenating each product we get the 1 to 9 pandigital, 192384576.
        We will call 192384576 the concatenated product of 192 and (1,2,3)

        The same can be achieved by starting with 9 and multiplying
        by 1, 2, 3, 4, and 5, giving the pandigital, 918273645,
        which is the concatenated product of 9 and (1,2,3,4,5).

        What is the largest 1 to 9 pandigital 9-digit number that
        can be formed as the concatenated product of an integer
        with (1,2, ... , n) where n > 1?
     */
    public String resolve() {

        /*
            The number to beat is 918273645.
            This means that the number should begin with a 9.
            9[0-9] will have too few or too many digits (8 or 11)
            9[0-9][0-9] wiil have too few or too many digits (7 or 11)
         */

        int max = 0;

        int[] r = new int[]{1,2,3,4,5,6,7,8,9};

        for (int i = 9000; i < 10000; i++) {
            int m = 100000 * i + 2 * i;
            if (Arrays.equals(r, NaturalHelper.digitos(m, 10, true))) {
                max = m;
            }
        }

        return String.valueOf(max);
        // 932718654
    }

}
